// 入口函数
$(function () {
    // 需求1.定义效验规则
    let form = layui.form
    // form对象中有一个方法verify专门定义
    // 参数时对象类型 属性是规则名称
    form.verify({
        nickname: [
            /^[\S]{1,10}$/,
            '昵称的长度为1~10位非空白字符!'
        ]
         
    });
    
    //   需求2.发送ajax 渲染用户信息 -封装成函数 后期还要用
    // 函数不调用 不执行
    let layer = layui.layer
    intUserInfo();
    // 封装函数
    function intUserInfo() {
        axios({
            method: 'GET',
            url: '/my/userinfo',
        }).then(res => {
            // console.log(res);
            // 判断
            if (res.data.status !== 0) {
                return layer.msg(res.data.message)
            }
            // 根据官网 为form 表单赋值
            form.val('formUserInfo', res.data.data);
        });
    }

    // 需求3. 重置功能
    // 给点form绑定reset事件 给按钮绑定点击事件
    // $('form').on('reset',function(e){
    $('#resReset').on('click', function (e) {
        // 阻止表单默认行为
        e.preventDefault()
        // 重新渲染表单
        intUserInfo();
    });



    //   需求4. 修改用户信息
    $('form').on('submit', function (e) {
        e.preventDefault()
        axios({
            method: 'POST',
            url: '/my/userinfo',
            // 设置了参数 根据参数类型会设置头信息 a=1&b=2&c=3
            data: $(this).serialize()
        }).then((res) => {
            console.log(res);
            if (res.data.status != 0) {
                return layer.msg(res.data.message)
            }
            // 成功提示
            layer.msg('恭喜您,修改用户信息成功!');
            // 直接调用无效 因为不是一个window对象
            window.parent.getUserInfo();
        });
    })

});